<?php

class Product extends Controller {
	private $do = 'content';
	private $msg;
	
	function Product() {
		parent::Controller ();
		$this->lang->load( 'admin', 'vietnamese' );
		$this->load->helper( 'admin_helper' );
		$this->load->helper( 'link_helper' );
		
		$this->load->model('admin/product_model');
		$this->load->model('admin/cat_model');
		
		check_login();
	}
	
	function index() {
		$menu_cat 		= array();
		$cat_id			= (int)$this->uri->segment(4);	
		$page_current	= (int)$this->uri->segment(5);
		$total			= 0; // Tổng số bản ghi
		$page_item 		= 10; // Số bản tin trên 1 trang
		
		if ( isset( $_POST['submit'] )) {
			$length = isset($_POST['length']) ? (int)$_POST['length'] : 0;						
			$this->product_model->update_produc_status( $length );
			$this->msg[] = 'Thay đổi thành công';
		}
		
		/**
		 * Chủ dề
		 */
		admin_cat( 0, 2, $menu_cat );
		
		$items = $this->product_model->list_product( $cat_id, $page_item, $page_current, $total );

		/**
		 * Form
		 */
		$form_action = admin_link( 'product/index/'.$cat_id );
		
		/**
    	 * Phân trang
    	 */		
    	$this->load->library('pagination');
    	$config['base_url'] 	= $form_action;
		$config['total_rows'] 	= $total;
		$config['per_page']		= $page_item; 
		$config['cur_page']		= $page_current;
			 
		$this->pagination->initialize( $config );
		
		
		$data = array(
			'title'		=> 'Sản phẩm :: Danh sách sản phẩm',
			'do'		=> $this->do,	
			'msg'		=> $this->msg,
			'menu_cat'	=> $menu_cat,
			'cat_id'	=> $cat_id,
			'p_current'	=> $page_current,
			'total'		=> $total,
			'items'		=> $items,
			'form'		=> $form_action.'/'.$page_current,
			'paging'	=> $this->pagination->create_links(),
		);
						
		$this->load->view ( ADMINPATH . 'admin_header', $data );
		$this->load->view ( ADMINPATH . 'product_list', $data );
		$this->load->view ( ADMINPATH . 'admin_footer', $data );
	}
	
	/**
	 * Trường sản phẩm
	 *
	 */
	function field() {
		
		if ( isset( $_POST['submit'] )) {
			$this->product_model->update_product_field();
			$this->msg[] = 'Thay đổi thành công';
		}
		
		$data = array(
			'title'	=> 'Trường sản phẩm',
			'do'	=> $this->do,	
			'msg'	=> $this->msg,
			'row'	=> $this->product_model->select_product( 0, 1 )
		);	
		
		$this->load->view ( ADMINPATH . 'admin_header', $data );
		$this->load->view ( ADMINPATH . 'product_field', $data );
		$this->load->view ( ADMINPATH . 'admin_footer', $data );
	}
	
	function add() {
		$menu_cat = array();
		
		/**
		 * Chủ dề
		 */
		admin_cat( 0, 2, $menu_cat );
		
		if ( isset( $_POST['submit'] ) ) {
			
			if ( trim( $_POST['name'] ) == '' ) 
				$this->msg[] = 'Tên sản phẩm không được để trống';
			else {	
							
				$this->product_model->write_product();
				$this->msg[] = 'Thêm sản phẩm mới thành công';				
			}	
		}
		
		$data = array(
			'title'		=> 'Sản phẩm :: Thêm sản phẩm',
			'do'		=> $this->do,	
			'msg'		=> $this->msg,
			'menu_cat'	=> $menu_cat,
			'fields'	=> $this->product_model->select_product( 0, 1 )
		);
				
		$this->load->view ( ADMINPATH . 'admin_header', $data );
		$this->load->view ( ADMINPATH . 'product_add', $data );
		$this->load->view ( ADMINPATH . 'admin_footer', $data );
	}
	
	function edit() {
		$menu_cat = array();
		$id = (int)$this->uri->segment(4);
		
		if ( isset( $_POST['submit'] ) ) {
			
			if ( trim( $_POST['name'] ) ) {				
				$this->product_model->update_product();
				$this->msg[] = 'Thay đổi thông tin sản phẩm thành công';				
			}	
		}
		
		$row = $this->product_model->select_product( $id );
		
		if ( $row ) {
			/**
			 * Chủ dề
			 */
			admin_cat( 0, 2, $menu_cat );
			
			$data = array(
				'title'		=> 'Sản phẩm :: Thay đổi thông tin sản phẩm',
				'do'		=> $this->do,	
				'msg'		=> $this->msg,
				'menu_cat'	=> $menu_cat,
				'row'		=> $row
			);
					
			$this->load->view ( ADMINPATH . 'admin_header', $data );
			$this->load->view ( ADMINPATH . 'product_edit', $data );
			$this->load->view ( ADMINPATH . 'admin_footer', $data );
		
		}else show_error('Không tồn tại sản phẩm này');
	}
	
	function del() {
		$cat_id = (int)$this->uri->segment(4);
		$page_numb = (int)$this->uri->segment(5);
		$id = (int)$this->uri->segment(6);
		
		$row = $this->product_model->select_product( $id );
		
		if ( $row ) {
			$url_back = admin_link('product/index/'.$cat_id.'/'.$page_numb );			
			$this->product_model->del_product( $row['id'] );
			echo '<meta http-equiv="refresh" content="0;URL='.$url_back.'" />';
		
		}else show_error('Không tồn tại sản phẩm này');
	}
	
	
}
